#ifndef TD_TIMER_H
#define TD_TIMER_H

/************************************************************************/
/* SDL                                                                  */
/************************************************************************/
#include "SDL\SDL.h"

namespace TD_Core {
	class Timer {
		//The clock time when the timer started 
		unsigned int startTicks; 
		//The ticks stored when the timer was paused 
		unsigned int pausedTicks; 
		//The timer status 
		bool paused; 
		bool started; 
	
	public: 
			
		//Initializes variables 
		Timer(); 
		
		//The various clock actions 
		void start(); 
		void stop(); 
		void pause(); 
		void unpause(); 
		//Gets the timer's time 
		int getTicks(); 
		//Checks the status of the timer 

		inline bool isStarted() const {
			return(started);
		} 
		inline bool isPaused() const {
			return(paused);
		}

		static inline int getSystemTime()  {
			return SDL_GetTicks();
		}
		
	};
}

#endif